This invention pertains to connections on communication networks, and, more particularly, to the transparent reconnection of interrupted connections on communication networks.
Communication systems usable for voice and data are known in the art, including POTS (xe2x80x9cplain old telephone servicexe2x80x9d) systems which make hard point-to-point connection. In recent years, network-based systems with dynamic routing capabilities have been introduced, in which data is divided into xe2x80x9cpackersxe2x80x9d or xe2x80x9cframesxe2x80x9d. Each packet or frame of data contain an indication of its destination, wherein the network forwards each frame or packet according to its embedded destination.
A high-level view of a typical network is shown in FIG. 1. A network 10 interconnects a plurality of network interfaces 20 which may be at different geographical locations. A plurality of customer premises equipment (CPE) 30 are connected, and located proximate to each network interface 20. CPE 30 may include such end-user devices as data terminals or voice telephone handsets. A CPE 30 at a particular location (the xe2x80x9csourcexe2x80x9d) may initiate communication with a CPE 30 at another location (the xe2x80x9cdestinationxe2x80x9d) through the source network interface 20, the network 10, and the destination network interface 20.
In computer-based switching networks employing frame relay, packet switching, and the like, the communication links are not based on POTS-style hard connections. In such networks, the communication links are often referred to as xe2x80x9cvirtual circuitsxe2x80x9d.
FIG. 2 depicts a portion of a communication network environment that will be taken as exemplary in discussing the present invention. Only two of a possible plurality of subscriber locations or sites are shown. Designated as LOCAL and REMOTE, the subscriber locations or sites may be interconnected by network 10. Each subscriber site, LOCAL and REMOTE, has a network interface (l40 and 180 respectively) associated therewith. The LOCAL and REMOTE sites each have at lean one CPE 130 and 170 respectively. The LOCAL and REMOTE sites also each have at least one type of end-user equipment, such as data terminals 110, 112 etc, and data terminals 160, 162 etc. Those skilled in the art appreciate that CPEs 130 and 170 typically include computer chips or similar intelligence for interfacing end-user equipment to network interfaces 140 and 180 and the methodology for such interfacing is known in the art.
An embodiment of the present invention has been implemented in a system that functions according to ITU Q.933 protocol or other conventional signalling protocol specification, such as Q.2931. FIG. 3 depicts a scenario known to those skilled in the art in which it is assumed, by way of example, that terminal 112 at the LOCAL site requests to communicate with terminal 162 at the REMOTE site. CPE 130 receives the request (including address information for terminal 162) from terminal 112, and issues a Q.933 (or other conventional signalling specification SETUP message to network interface 140. By means known to those in the art, network 10 routes the SETUP message to network interface 180, since that is the network interface associated with terminal 162. Network interface 180 passes the SETUP message to CPE 170, which establishes data connection (over a preexisting physical connection) with terminal 162. CPE 170 originates a Q.933 CONNECT message, which is returned via network interface 180, network 10, and network interface 140 to CPE 130. A xe2x80x9ccallxe2x80x9d is then in session between the two terminals.
FIG. 4 depicts another scenario known to those skilled in the art and relevant to the present invention, in which terminal 162 at the REMOTE location requests communication with terminal 112 at the LOCAL location. Message flow is the reverse of that shown in FIG. 3, but likewise results in a call being is session between the two terminals.
In communication system, calls are sometimes interrupted because of equipment failure, interruption of the transmission paths comprising network 10, tampering (whether inadvertent or deliberate), and so forth. Means are known is the art for re-establishing dropped connections. For example, many types of communication channels monitor the primary link of a call and, upon detecting that the primary link has gone down, can perform a switchover to a backup link. Such communication channels can further detect when the primary link recovers, and can switch back to the primary link, taking the backup link down again. However, is the process of making these switchovers, existing call sessions are dropped and must be reinitiated by the end user.
Thus, there is a need for a communication system that can reconfigure itself to restore a connection without dropping existing call sessions. There is a further need for a communication system that can reconfigure itself to restore a connection without losing a significant portion of a call.
Then and other objects of the invention will become apparent to those skilled in the art from the description which follows.
In one embodiment, the present invention provides for a method of reestablishing virtual circuits after the interruption thereof. Specifically, in a communication system comprising a network with a plurality of interconnectable interface ports; a plurality of customer premises equipment (CPE), each selectively connectable to at least one of said interlace ports; a plurality of terminals connected to each of said CPEs and being selectively operable as a source terminal to issue a setup request through its associated CPE for requesting connection to a terminal connected to a different CPE and operable as a destination terminal; wherein each of the interface ports an responsive to a setup request from a source terminal to connect itself via the network to a second interface port and to direct the second interface port to connect to a CPE associated with a requested destination terminal thus forming a virtual circuit between the source terminal and the requested destination terminal; and wherein each CPE is able to determine whether a virtual circuit is interrupted, the invention provides for the following steps to reestablish the virtual circuit after interruption thereof; (i) upon formation of a virtual circuit between a source terminal and a destination terminal, providing information descriptive of the virtual circuit to the source CPE; (ii) storing that virtual circuit information in the source CPE; (iii) upon determining that the virtual circuit is interrupted, establishing a connection between the source CPE and a third interface port; (iv) sending a setup request from the source CPE to the third interface port, which setup request includes the stored virtual circuit information; and (v) establishing a connection in response to the stored virtual circuit information via the network between the third interface port and the second interface port, thereby reestablishing the virtual circuit between the source terminal and the destination terminal.
In a preferred embodiment, when the virtual circuit is interrupted, the second interface port places the virtual circuit in a wait-for-backup mode. Upon expiration of a predetermined time, preferably a time longer than the time anticipated to reestablish the virtual circuit, if the virtual circuit is still in wait-for-backup mode, the second interface port drops the virtual circuit. Likewise, if the virtual circuit is reestablished, the second interface port removes the virtual circuit from the wait for backup mode.
In another embodiment, the invention provides a method for establishing a xe2x80x9ctunnelxe2x80x9d virtual circuit and storing information about the tunnel virtual circuit at the CPE associated with the source terminal, and that establishing xe2x80x9cencapsulatedxe2x80x9d virtual circuits within the tunnel virtual circuit, also storing information about the encapsulated virtual circuits at the CPE associated with the source terminal. After failure of the tunnel virtual circuit or an encapsulated virtual circuit, the present invention provides for reestablishing the tunnel virtual circuit and all its encapsulated virtual circuits.